Consistent Hashing with Bounded Loads
نویسندگان
چکیده
Designing algorithms for balanced allocation of clients to servers in dynamic settings is a challenging problem for a variety of reasons. We want a hashing-style solution where we given the ID of a client can efficiently find its server in a distributed dynamic environment where both servers and clients may be added and/or removed from the system in any order. The main objectives of allocation algorithms are as follows: the uniformity of the allocation, and the number of moves after adding or removing a server or a client. More specifically, while one main goal is to achieve a proper load balancing in the allocation of clients to servers, after adding/removing clients or servers, re-computing allocations should not result in moving too many clients from their current server. The most popular solutions for our dynamic settings is Consistent Hashing [KLL97, SML03] or Rendezvous Hashing [TR98]. However, the load balancing of these schemes is no better than a random assignment of clients to servers, so with n of each, we expect many servers to be overloaded with Θ(log n/ log log n) clients. In this paper, with n clients and n servers, we get a guaranteed max-load of 2 while only moving an expected constant number of clients each time a client or server is added or removed. Our general result is described below. In this paper, we consider the following problem. We take an arbitrary user specified balancing parameter c = 1 + ε > 1. With m balls and n bins1 in the system, we want no load above dcm/ne. Meanwhile we want to bound the expected number of balls that have to be moved when a ball or server is added or removed. Our algorithmic starting point is consistent hashing where current balls and bins are hashed to a unit cycle, and a ball is placed in the first bin succeeding it in clock-wise order. In this paper, we suggest to let bins have capacities, and forward the ball to the first non-full bin. For balancing, we use maximum bin capacity dcm/ne. Compared with general lower bounds without capacity constraints, we show that when a ball or bin is inserted or deleted, the expected number of balls that have to be moved is increased only by a multiplicative factor O( 1 ε2 ) for ε ≤ 1 (Theorem 4) and by a factor 1 + O( log c c ) for ε ≥ 1 (Theorem 3). Technically, the latter bound is the most challenging to prove. It implies that we for superconstant c only pay a negligible cost in extra moves. We also get the same bounds for the simpler problem where we instead of a user specified balancing parameter have a fixed bin capacity C for all bins, and define c = 1 + ε = Cn/m. ∗Supported in part by Advanced Grant DFF-0602-02499B from the Danish Council for Independent Research under the Sapere Aude research career programme. Throughout this paper, we use balls as clients, and also bins as servers, interchangeably. ar X iv :1 60 8. 01 35 0v 2 [ cs .D S] 1 2 M ay 2 01 7
منابع مشابه
An Optimization Scheme in MapReduce for Reduce Stage
As a widely used programming model for the purposes of processing large data sets, MapReduce (MR) becomes inevitable in data clusters or grids, e.g. a Hadoop environment. Load balancing as a key factor affecting the performance of map resource distribution, has recently gained high concerns to optimize. Current MR processes in the realization of distributed tasks to clusters use hashing with ra...
متن کاملImage authentication using LBP-based perceptual image hashing
Feature extraction is a main step in all perceptual image hashing schemes in which robust features will led to better results in perceptual robustness. Simplicity, discriminative power, computational efficiency and robustness to illumination changes are counted as distinguished properties of Local Binary Pattern features. In this paper, we investigate the use of local binary patterns for percep...
متن کاملMaximum Bipartite Matching Size And Application to Cuckoo Hashing
Cuckoo hashing with a stash is a robust multiplechoice hashing scheme with high memory utilization that canbe used in many network device applications. Unfortunately, formemory loads beyond 0.5, little is known on its performance.In this paper, we analyze its average performance over suchloads. We tackle this problem by recasting the problem as ananalysis of the expected...
متن کاملCSE202 Project - Consistent Hashing
Consistent hashing is a special kind of hashing which is useful for certain applications. Originally devised by Karger et. al. at MIT[2] for use in distributed caching, the idea has now been expanded to other areas, most notably peer to peer networking[5][4]. As internet use increases and as distributed systems grow more prevalent (ie, Napster clones), consistent hashing could play an increasin...
متن کاملCompressed Image Hashing using Minimum Magnitude CSLBP
Image hashing allows compression, enhancement or other signal processing operations on digital images which are usually acceptable manipulations. Whereas, cryptographic hash functions are very sensitive to even single bit changes in image. Image hashing is a sum of important quality features in quantized form. In this paper, we proposed a novel image hashing algorithm for authentication which i...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2018